As the number of computer servers used by businesses has substantially increased, a number of techniques have been developed to remotely manage the operation of such servers. For example, large data centers are frequently managed using a variety of different remote management tools, including e.g., simple terminal connections, remote desktop applications and sophisticated software tools used to configure, monitor, and troubleshoot both computer hardware and software. The remote management tools are often configured to communicate using standardized protocols such as Server Management Architecture for Server Hardware (SMASH) Intelligent Platform Management Interface (IPMI), etc.
Computer systems include a BIOS, which stores firmware executed when a PC is first powered on along with a set of configuration settings specified for BIOS parameters. The BIOS typically recognizes, initializes, and tests the hardware present in a given computing system based on the set of configuration settings. Once the BIOS operations are complete, the BIOS turns over control of a computing system to an operating system (e.g., by running an operating system (OS) boot loader specified using a BIOS parameter value). Additionally, the BIOS provides an interface that allows a variety of different parameters to be set. For example, the BIOS may be used to specify clock and bus speeds, specify what peripherals are attached to a computing system, specify monitoring and “health” settings (e.g., fan speeds and CPU temperature limits), as well as specify a variety of other parameters that can effect the overall performance of a computing system. The BIOS firmware and BIOS parameter settings are stored in a non-volatile memory on the computer system.
Currently, however, much of BIOS behavior is not controlled by server management tools and many server BIOS settings and, consequently, server sub-system behavior is defined based on individual server BIOS settings without considering the overall data center environment. For example, BIOS configuration is not automated, and as a result, BIOS parameter settings on computer systems within a data center are frequently managed on a one-off basis where the configuration settings specified for BIOS parameters are set individually on each computing system.